#ifndef _GAME_SCRIPT_H_
#define _GAME_SCRIPT_H_

#include "num/named_set.h"

namespace LuaPlus
{
    class LuaState;
}

class GameScript
{
public:
	std::string					GetOpenFile(const std::string& Ext = "*", const std::string& Title = "Open File");
	std::string					GetSaveFile(const std::string& Ext = "*", const std::string& Title = "Save File");
	std::string					GetOpenFileEx(const std::string& Ext = "", const std::string& Title = "Open File", const std::string& Path = "", const std::string& Reserved = "");
	std::string					GetSaveFileEx(const std::string& Ext = "", const std::string& Title = "Save File", const std::string& Path = "", const std::string& Reserved = "");
	std::string					GetFileNameOnly(const std::string& FilenameWithPath, bool WithExtension = false);

	static void					ResetFonts(const std::string& File, const std::string& Language);


	static void					StripFilePath(std::string& Filename);
	static	void				RegisterAll(LuaPlus::LuaState* _pScript);
	static	void				Register(LuaPlus::LuaState* _pScript);
    static GameScript*			Instance();

	// luabind requires these to be open
								GameScript();
								~GameScript();
private:
};

#endif // _GAME_SCRIPT_H_